package com.ipDev.moyvSys.service.impl;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.injector.methods.SelectById;
import com.ipDev.moyvSys.constant.StatusConstant;
import com.ipDev.moyvSys.domain.dto.UserLoginDTO;
import com.ipDev.moyvSys.domain.po.User;
import com.ipDev.moyvSys.mapper.UserMapper;
import com.ipDev.moyvSys.service.IUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

/**
 * <p>
 * 用户信息 服务实现类
 * </p>
 *
 * @author fish
 * @since 2024-10-20
 */
@Service
@Slf4j
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {

    @Override
    public User login(UserLoginDTO userLoginDTO) {

        String userName = userLoginDTO.getUserName();

        //TODO 用用户名查出这个用户是否存在 用户名必须是唯一的
        User user = lambdaQuery().eq(User::getUsername, userName).one();

        if(BeanUtil.isEmpty(user)){
            //TODO　没有找到这个用户　抛出异常 前端提醒不存在该用户
        }

        if(user.getStatus()== StatusConstant.DISABLE){
            //TODO 账号被禁用 抛出异常 前端提醒账号状态异常
        }
        //比对密码
        if(!user.getPassword().equals(userLoginDTO.getPassword())){
            //TODO 密码错误 抛出异常 前端提醒密码错误
        }
        return user;
    }
}
